﻿/*********************弘石项目三组************************
*  功能描述：合同管理接口
*  作者：郇博驿
*  时间：2021-12-8
*  修改人：郇博驿
*  修改时间：2021-12-8
*********************弘石项目三组************************/
using Hong.Model.Dto.PesponseDto.ResponseModel.ResultModel;
using Hong.Model.SysDomain.Model_AttendanceManagement;
using Hong.Model.SysDomain.Model_ContractManagement;
using Hong.Model.SysDomain.Model_ContractManagement.StaModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hong.IRepository
{
    public interface IContractRepository    
    {
        #region 查询客户
        /// <summary>
        /// 查询客户
        /// </summary>
        /// <param name="name"></param>
        /// <param name="edCountryId2"></param>
        /// <param name="edCountryId3"></param>
        /// <param name="edTypeId"></param>
        /// <returns></returns>
        List<ViewCustomer> GetCustomers(string name, string edCountry2Nmae, string edCountry3Nmae, string edTypeName);
        #endregion

        #region 添加合同
        /// <summary>
        /// 添加合同
        /// </summary>
        /// <param name="contractInfo"></param>
        /// <returns></returns>
        int AddContract(ContractInfo contractInfo);
        #endregion

        #region 结构形式下拉框
        /// <summary>
        /// 结构形式下拉框
        /// </summary>
        /// <returns></returns>
        List<StaStructuralstyleInfo> GetStaStru();
        #endregion

        #region 建筑分类下拉框
        /// <summary>
        /// 建筑分类下拉框
        /// </summary>
        /// <returns></returns>
        List<StaBuildingTypeInfo> GetBuild();
        #endregion

        #region 合同列表

        #region 合同查询页
        /// <summary>
        /// 合同查询页
        /// </summary>
        /// <param name="pageindex">当前页</param>
        /// <param name="pagesize">页大小</param>
        /// <param name="contractShowCondition">条件类</param>
        /// <returns></returns>
        Task<PageResponse<ViewContractInfo>> GetContractInfos(int pageindex, int pagesize, ContractShowCondition contractShowCondition);
        #endregion

        #region 合同反填
        ContractInfo GetContractInfosById(string id);
        #endregion

        #region 合同修改
        /// <summary>
        /// 合同修改
        /// </summary>
        /// <param name="contractInfo"></param>
        /// <returns></returns>
        int UpContractInfos(ContractInfo contractInfo);
        #endregion

        #region 合同删除
        /// <summary>
        /// 合同删除
        /// </summary>
        /// <param name="contractInfo"></param>
        /// <returns></returns>
        int DelContractInfos(string id);

        #endregion

        #region 合同收费列表
        /// <summary>
        /// 合同收费列表
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        List<ViewContracratetInfo> GetContractLists(string id);
        #endregion

        #region 合同收费
        /// <summary>
        /// 合同收费
        /// </summary>
        /// <param name="contractrateInfo"></param>
        /// <returns></returns>
        int AddContractrateInfo(ContractrateInfo contractrateInfo);
        #endregion

        #region 收费修改
        /// <summary>
        /// 收费修改
        /// </summary>
        /// <param name="contractrateInfo"></param>
        /// <returns></returns>
        int UpContractrateInfo(ContractrateInfo contractrateInfo);
        #endregion

        #region 收费删除
        /// <summary>
        /// 收费删除
        /// </summary>
        /// <param name="contractInfo"></param>
        /// <returns></returns>
        int DelContractrateInfo(string id);
        #endregion

        #region 收费统计

        #region 总额

        #endregion
        #region 月份
        List<Showmounth> Getmounth();
        #endregion
        #region 季度
        List<Showquarter> Getquarter();
        #endregion
        #region 合同类型
        List<ShowcontractType> GetcontractType();
        #endregion

        #endregion

        #endregion







    }
}
